package com.itheima.Work01;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class work03 {
    public static void main(String[] args) throws NoSuchMethodException, ClassNotFoundException, IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchFieldException {
//请编写一个方法getProperty，该方法接收两个参，
// 第一个为Object类型的obj对象，
// 第二个为String类型的propertyName，
// 返回值为Object类型，
// 其作用是可以获取obj对象中名为propertyName的属性的值。
// 在主方法中调用方法进行测试。
        Student01 stu  = new Student01("章若楠",21);
        Object name = getProperty(stu, "name");
        System.out.println(name);


    }
    public static Object getProperty(Object obj, String propertyName) throws NoSuchMethodException, NoSuchFieldException, IllegalAccessException {
        Class<?> clazz = obj.getClass();




        Field field = clazz.getDeclaredField(propertyName);
        field.setAccessible(true);
        Object o = field.get(obj);
        return o;
    }
}
